#! /usr/bin/env python
# Forearm camera configuration

PACKAGE='mst_navigation'
import roslib; roslib.load_manifest(PACKAGE)

from math import pi

from driver_base.msg import SensorLevels
from dynamic_reconfigure.parameter_generator_catkin import *

gen = ParameterGenerator()
#       Name                    Type      Reconfiguration level             Description                                        Default    Min   Max
gen.add("robot_x",              int_t,    SensorLevels.RECONFIGURE_STOP,    "The height of the robot mask."          ,         200,       0,    400)
gen.add("robot_y",              int_t,    SensorLevels.RECONFIGURE_STOP,    "The width of the robot mask."           ,         100,       0,    400)
gen.add("robot_filled",         bool_t,   SensorLevels.RECONFIGURE_STOP,    "Option to disply the robot mask as a filed box",  False)
gen.add("search_radius",        int_t,    SensorLevels.RECONFIGURE_STOP,    "The search radius of potential navigation.",      100,       0,    1000)
gen.add("search_res",           int_t,    SensorLevels.RECONFIGURE_STOP,    "The search  degrees of potential navigation.",    180,       1,    360)
gen.add("display_rays",         bool_t,   SensorLevels.RECONFIGURE_STOP,    "Option to disply rays on debug image",            False)
gen.add("compas_length",        double_t, SensorLevels.RECONFIGURE_STOP,    "The length of the target and movement.",          200,         0,  1000)
gen.add("carrot_on_a_stick",    double_t, SensorLevels.RECONFIGURE_STOP,    "The forward forcing velocity on robot.",          1,         0,    10)
gen.add("target_weight_y",      double_t, SensorLevels.RECONFIGURE_STOP,    "The scalar aplied to the y target component.",    1,         0,    100)
gen.add("target_weight_z",      double_t, SensorLevels.RECONFIGURE_STOP,    "The scalar aplied to the z target component.",    1,         0,    100)
gen.add("target_y_scale",      double_t, SensorLevels.RECONFIGURE_STOP,    "Persentage of y velocity apiled to x velocity",    0,         -100,    100)
gen.add("target_x_exp",      double_t, SensorLevels.RECONFIGURE_STOP,    "Persentage of y velocity apiled to x velocity",    1,         1,    100)
gen.add("target_dist_scale",      double_t, SensorLevels.RECONFIGURE_STOP,    "Percentage of pixel distace aplied",    0,         0,    1000)
gen.add("dist_scale_x",      double_t, SensorLevels.RECONFIGURE_STOP,    "Percentage of pixel distace aplied",    200,         0,    1000)
gen.add("dist_scale_y",      double_t, SensorLevels.RECONFIGURE_STOP,    "Percentage of pixel distace aplied",    200,         0,    1000)
gen.add("twist_scalar_y",       double_t, SensorLevels.RECONFIGURE_STOP,    "The scalar aplied to the y twist values.",        1,         0,    100)
gen.add("twist_scalar_z",       double_t, SensorLevels.RECONFIGURE_STOP,    "The scalar aplied to the z twist values.",        1,         0,    100)
gen.add("edges_per",            double_t, SensorLevels.RECONFIGURE_STOP,    "The percentage that edges are added at.",         100,       0,    100)
gen.add("stat_per",            double_t, SensorLevels.RECONFIGURE_STOP,    "The percentage that grass is subtracted at.",     40,        0,    100)
gen.add("previous_per",            double_t, SensorLevels.RECONFIGURE_STOP,    "The percentage that grass is subtracted at.",     40,        0,    100)
gen.add("lines_per",            double_t, SensorLevels.RECONFIGURE_STOP,    "The percentage that edges are added at.",         40,        0,    100)
gen.add("flags_per",            double_t, SensorLevels.RECONFIGURE_STOP,    "The percentage that edges are added at.",         40,        0,    100)
gen.add("obst_per",             double_t, SensorLevels.RECONFIGURE_STOP,    "The percentage that edges are added at.",         40,        0,    100)
gen.add("grass_per",            double_t, SensorLevels.RECONFIGURE_STOP,    "The percentage that grass is subtracted at.",     40,        0,    100)

exit(gen.generate(PACKAGE, "dynamic_reconfigure_node", "Pot_Nav_Params"))

